const express = require('express');
const router = express.Router();
const { body } = require('express-validator');
const categoryController = require('../controllers/categoryController');
const authMiddleware = require('../middleware/auth').authMiddleware;
const adminMiddleware = require('../middleware/auth').adminMiddleware;

// 创建分类（仅管理员）
router.post('/', [
  authMiddleware,
  adminMiddleware,
  body('name').notEmpty().withMessage('分类名称不能为空').isLength({ max: 50 }).withMessage('分类名称不能超过50个字符'),
  body('description').optional().isLength({ max: 200 }).withMessage('分类描述不能超过200个字符')
], categoryController.createCategory);

// 获取所有分类
router.get('/', categoryController.getCategories);

// 获取单个分类详情
router.get('/:id', categoryController.getCategoryById);

// 更新分类（仅管理员）
router.put('/:id', [
  authMiddleware,
  adminMiddleware,
  body('name').notEmpty().withMessage('分类名称不能为空').isLength({ max: 50 }).withMessage('分类名称不能超过50个字符'),
  body('description').optional().isLength({ max: 200 }).withMessage('分类描述不能超过200个字符')
], categoryController.updateCategory);

// 删除分类（仅管理员）
router.delete('/:id', [authMiddleware, adminMiddleware], categoryController.deleteCategory);

module.exports = router;